home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / ComponentIncludes / Movies.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  18.4 KB  |  420 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Movies.k.h
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __MOVIES_K__
  19. #define __MOVIES_K__
  20.  
  21. #include <Movies.h>
  22.  
  23. /*
  24.     Example usage:
  25.  
  26.         #define VIDEOMEDIA_BASENAME()    Fred
  27.         #define VIDEOMEDIA_GLOBALS()    FredGlobalsHandle
  28.         #include <Movies.k.h>
  29.  
  30.     To specify that your component implementation does not use globals, do not #define VIDEOMEDIA_GLOBALS
  31. */
  32. #ifdef VIDEOMEDIA_BASENAME
  33.     #ifndef VIDEOMEDIA_GLOBALS
  34.         #define VIDEOMEDIA_GLOBALS() 
  35.         #define ADD_VIDEOMEDIA_COMMA 
  36.     #else
  37.         #define ADD_VIDEOMEDIA_COMMA ,
  38.     #endif
  39.     #define VIDEOMEDIA_GLUE(a,b) a##b
  40.     #define VIDEOMEDIA_STRCAT(a,b) VIDEOMEDIA_GLUE(a,b)
  41.     #define ADD_VIDEOMEDIA_BASENAME(name) VIDEOMEDIA_STRCAT(VIDEOMEDIA_BASENAME(),name)
  42.  
  43.     EXTERN_API( ComponentResult  ) ADD_VIDEOMEDIA_BASENAME(ResetStatistics) (VIDEOMEDIA_GLOBALS());
  44.  
  45.     EXTERN_API( ComponentResult  ) ADD_VIDEOMEDIA_BASENAME(GetStatistics) (VIDEOMEDIA_GLOBALS());
  46.  
  47.     EXTERN_API( ComponentResult  ) ADD_VIDEOMEDIA_BASENAME(GetStallCount) (VIDEOMEDIA_GLOBALS() ADD_VIDEOMEDIA_COMMA unsigned long * stalls);
  48.  
  49.  
  50.     /* MixedMode ProcInfo constants for component calls */
  51.     enum {
  52.         uppVideoMediaResetStatisticsProcInfo = 0x000000F0,
  53.         uppVideoMediaGetStatisticsProcInfo = 0x000000F0,
  54.         uppVideoMediaGetStallCountProcInfo = 0x000003F0
  55.     };
  56.  
  57. #endif    /* VIDEOMEDIA_BASENAME */
  58.  
  59. /*
  60.     Example usage:
  61.  
  62.         #define TEXTMEDIA_BASENAME()    Fred
  63.         #define TEXTMEDIA_GLOBALS()    FredGlobalsHandle
  64.         #include <Movies.k.h>
  65.  
  66.     To specify that your component implementation does not use globals, do not #define TEXTMEDIA_GLOBALS
  67. */
  68. #ifdef TEXTMEDIA_BASENAME
  69.     #ifndef TEXTMEDIA_GLOBALS
  70.         #define TEXTMEDIA_GLOBALS() 
  71.         #define ADD_TEXTMEDIA_COMMA 
  72.     #else
  73.         #define ADD_TEXTMEDIA_COMMA ,
  74.     #endif
  75.     #define TEXTMEDIA_GLUE(a,b) a##b
  76.     #define TEXTMEDIA_STRCAT(a,b) TEXTMEDIA_GLUE(a,b)
  77.     #define ADD_TEXTMEDIA_BASENAME(name) TEXTMEDIA_STRCAT(TEXTMEDIA_BASENAME(),name)
  78.  
  79.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(SetTextProc) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA TextMediaUPP  TextProc, long  refcon);
  80.  
  81.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(AddTextSample) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA Ptr  text, unsigned long  size, short  fontNumber, short  fontSize, Style  textFace, RGBColor * textColor, RGBColor * backColor, short  textJustification, Rect * textBox, long  displayFlags, TimeValue  scrollDelay, short  hiliteStart, short  hiliteEnd, RGBColor * rgbHiliteColor, TimeValue  duration, TimeValue * sampleTime);
  82.  
  83.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(AddTESample) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA TEHandle  hTE, RGBColor * backColor, short  textJustification, Rect * textBox, long  displayFlags, TimeValue  scrollDelay, short  hiliteStart, short  hiliteEnd, RGBColor * rgbHiliteColor, TimeValue  duration, TimeValue * sampleTime);
  84.  
  85.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(AddHiliteSample) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA short  hiliteStart, short  hiliteEnd, RGBColor * rgbHiliteColor, TimeValue  duration, TimeValue * sampleTime);
  86.  
  87.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(FindNextText) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA Ptr  text, long  size, short  findFlags, TimeValue  startTime, TimeValue * foundTime, TimeValue * foundDuration, long * offset);
  88.  
  89.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(HiliteTextSample) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA TimeValue  sampleTime, short  hiliteStart, short  hiliteEnd, RGBColor * rgbHiliteColor);
  90.  
  91.     EXTERN_API( ComponentResult  ) ADD_TEXTMEDIA_BASENAME(SetTextSampleData) (TEXTMEDIA_GLOBALS() ADD_TEXTMEDIA_COMMA void * data, OSType  dataType);
  92.  
  93.  
  94.     /* MixedMode ProcInfo constants for component calls */
  95.     enum {
  96.         uppTextMediaSetTextProcProcInfo = 0x00000FF0,
  97.         uppTextMediaAddTESampleProcInfo = 0x3FAFEFF0,
  98.         uppTextMediaAddHiliteSampleProcInfo = 0x0003FAF0,
  99.         uppTextMediaFindNextTextProcInfo = 0x003FEFF0,
  100.         uppTextMediaHiliteTextSampleProcInfo = 0x0000EBF0,
  101.         uppTextMediaSetTextSampleDataProcInfo = 0x00000FF0
  102.     };
  103.  
  104. #endif    /* TEXTMEDIA_BASENAME */
  105.  
  106. #ifdef TEXTMEDIA_BASENAME
  107. enum {
  108.     uppTextMediaAddTextSampleProcInfo = SPECIAL_CASE_PROCINFO(specialTextMediaAddTextSample)
  109. };
  110. #endif    /* TEXTMEDIA_BASENAME */
  111. /*
  112.     Example usage:
  113.  
  114.         #define SPRITEMEDIA_BASENAME()    Fred
  115.         #define SPRITEMEDIA_GLOBALS()    FredGlobalsHandle
  116.         #include <Movies.k.h>
  117.  
  118.     To specify that your component implementation does not use globals, do not #define SPRITEMEDIA_GLOBALS
  119. */
  120. #ifdef SPRITEMEDIA_BASENAME
  121.     #ifndef SPRITEMEDIA_GLOBALS
  122.         #define SPRITEMEDIA_GLOBALS() 
  123.         #define ADD_SPRITEMEDIA_COMMA 
  124.     #else
  125.         #define ADD_SPRITEMEDIA_COMMA ,
  126.     #endif
  127.     #define SPRITEMEDIA_GLUE(a,b) a##b
  128.     #define SPRITEMEDIA_STRCAT(a,b) SPRITEMEDIA_GLUE(a,b)
  129.     #define ADD_SPRITEMEDIA_BASENAME(name) SPRITEMEDIA_STRCAT(SPRITEMEDIA_BASENAME(),name)
  130.  
  131.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(SetProperty) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short  spriteIndex, long  propertyType, void * propertyValue);
  132.  
  133.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetProperty) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short  spriteIndex, long  propertyType, void * propertyValue);
  134.  
  135.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(HitTestSprites) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA long  flags, Point  loc, short * spriteHitIndex);
  136.  
  137.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(CountSprites) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short * numSprites);
  138.  
  139.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(CountImages) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short * numImages);
  140.  
  141.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetIndImageDescription) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short  imageIndex, ImageDescriptionHandle  imageDescription);
  142.  
  143.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetDisplayedSampleNumber) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA long * sampleNum);
  144.  
  145.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetSpriteName) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  spriteID, Str255  spriteName);
  146.  
  147.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetImageName) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short  imageIndex, Str255  imageName);
  148.  
  149.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(SetSpriteProperty) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  spriteID, long  propertyType, void * propertyValue);
  150.  
  151.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetSpriteProperty) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  spriteID, long  propertyType, void * propertyValue);
  152.  
  153.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(HitTestAllSprites) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA long  flags, Point  loc, QTAtomID * spriteHitID);
  154.  
  155.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(HitTestOneSprite) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  spriteID, long  flags, Point  loc, Boolean * wasHit);
  156.  
  157.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(SpriteIndexToID) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short  spriteIndex, QTAtomID * spriteID);
  158.  
  159.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(SpriteIDToIndex) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  spriteID, short * spriteIndex);
  160.  
  161.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetSpriteActionsForQTEvent) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTEventRecordPtr  event, QTAtomID  spriteID, QTAtomContainer * container, QTAtom * atom);
  162.  
  163.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(SetActionVariable) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  variableID, const float * value);
  164.  
  165.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetActionVariable) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA QTAtomID  variableID, float * value);
  166.  
  167.     EXTERN_API( ComponentResult  ) ADD_SPRITEMEDIA_BASENAME(GetIndImageProperty) (SPRITEMEDIA_GLOBALS() ADD_SPRITEMEDIA_COMMA short  imageIndex, long  imagePropertyType, void * imagePropertyValue);
  168.  
  169.  
  170.     /* MixedMode ProcInfo constants for component calls */
  171.     enum {
  172.         uppSpriteMediaSetPropertyProcInfo = 0x00003EF0,
  173.         uppSpriteMediaGetPropertyProcInfo = 0x00003EF0,
  174.         uppSpriteMediaHitTestSpritesProcInfo = 0x00003FF0,
  175.         uppSpriteMediaCountSpritesProcInfo = 0x000003F0,
  176.         uppSpriteMediaCountImagesProcInfo = 0x000003F0,
  177.         uppSpriteMediaGetIndImageDescriptionProcInfo = 0x00000EF0,
  178.         uppSpriteMediaGetDisplayedSampleNumberProcInfo = 0x000003F0,
  179.         uppSpriteMediaGetSpriteNameProcInfo = 0x00000FF0,
  180.         uppSpriteMediaGetImageNameProcInfo = 0x00000EF0,
  181.         uppSpriteMediaSetSpritePropertyProcInfo = 0x00003FF0,
  182.         uppSpriteMediaGetSpritePropertyProcInfo = 0x00003FF0,
  183.         uppSpriteMediaHitTestAllSpritesProcInfo = 0x00003FF0,
  184.         uppSpriteMediaHitTestOneSpriteProcInfo = 0x0000FFF0,
  185.         uppSpriteMediaSpriteIndexToIDProcInfo = 0x00000EF0,
  186.         uppSpriteMediaSpriteIDToIndexProcInfo = 0x00000FF0,
  187.         uppSpriteMediaGetSpriteActionsForQTEventProcInfo = 0x0000FFF0,
  188.         uppSpriteMediaSetActionVariableProcInfo = 0x00000FF0,
  189.         uppSpriteMediaGetActionVariableProcInfo = 0x00000FF0,
  190.         uppSpriteMediaGetIndImagePropertyProcInfo = 0x00003EF0
  191.     };
  192.  
  193. #endif    /* SPRITEMEDIA_BASENAME */
  194.  
  195. /*
  196.     Example usage:
  197.  
  198.         #define MEDIA3D_BASENAME()    Fred
  199.         #define MEDIA3D_GLOBALS()    FredGlobalsHandle
  200.         #include <Movies.k.h>
  201.  
  202.     To specify that your component implementation does not use globals, do not #define MEDIA3D_GLOBALS
  203. */
  204. #ifdef MEDIA3D_BASENAME
  205.     #ifndef MEDIA3D_GLOBALS
  206.         #define MEDIA3D_GLOBALS() 
  207.         #define ADD_MEDIA3D_COMMA 
  208.     #else
  209.         #define ADD_MEDIA3D_COMMA ,
  210.     #endif
  211.     #define MEDIA3D_GLUE(a,b) a##b
  212.     #define MEDIA3D_STRCAT(a,b) MEDIA3D_GLUE(a,b)
  213.     #define ADD_MEDIA3D_BASENAME(name) MEDIA3D_STRCAT(MEDIA3D_BASENAME(),name)
  214.  
  215.     EXTERN_API( ComponentResult  ) ADD_MEDIA3D_BASENAME(GetNamedObjectList) (MEDIA3D_GLOBALS() ADD_MEDIA3D_COMMA QTAtomContainer * objectList);
  216.  
  217.     EXTERN_API( ComponentResult  ) ADD_MEDIA3D_BASENAME(GetRendererList) (MEDIA3D_GLOBALS() ADD_MEDIA3D_COMMA QTAtomContainer * rendererList);
  218.  
  219.  
  220.     /* MixedMode ProcInfo constants for component calls */
  221.     enum {
  222.         uppMedia3DGetNamedObjectListProcInfo = 0x000003F0,
  223.         uppMedia3DGetRendererListProcInfo = 0x000003F0
  224.     };
  225.  
  226. #endif    /* MEDIA3D_BASENAME */
  227.  
  228. /*
  229.     Example usage:
  230.  
  231.         #define MC_BASENAME()    Fred
  232.         #define MC_GLOBALS()    FredGlobalsHandle
  233.         #include <Movies.k.h>
  234.  
  235.     To specify that your component implementation does not use globals, do not #define MC_GLOBALS
  236. */
  237. #ifdef MC_BASENAME
  238.     #ifndef MC_GLOBALS
  239.         #define MC_GLOBALS() 
  240.         #define ADD_MC_COMMA 
  241.     #else
  242.         #define ADD_MC_COMMA ,
  243.     #endif
  244.     #define MC_GLUE(a,b) a##b
  245.     #define MC_STRCAT(a,b) MC_GLUE(a,b)
  246.     #define ADD_MC_BASENAME(name) MC_STRCAT(MC_BASENAME(),name)
  247.  
  248.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetMovie) (MC_GLOBALS() ADD_MC_COMMA Movie  theMovie, WindowPtr  movieWindow, Point  where);
  249.  
  250.     EXTERN_API( Movie  ) ADD_MC_BASENAME(GetIndMovie) (MC_GLOBALS() ADD_MC_COMMA short  index);
  251.  
  252.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(RemoveAllMovies) (MC_GLOBALS());
  253.  
  254.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(RemoveAMovie) (MC_GLOBALS() ADD_MC_COMMA Movie  m);
  255.  
  256.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(RemoveMovie) (MC_GLOBALS());
  257.  
  258.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(IsPlayerEvent) (MC_GLOBALS() ADD_MC_COMMA const EventRecord * e);
  259.  
  260.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetActionFilter) (MC_GLOBALS() ADD_MC_COMMA MCActionFilterUPP  blob);
  261.  
  262.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(DoAction) (MC_GLOBALS() ADD_MC_COMMA short  action, void * params);
  263.  
  264.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetControllerAttached) (MC_GLOBALS() ADD_MC_COMMA Boolean  attach);
  265.  
  266.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(IsControllerAttached) (MC_GLOBALS());
  267.  
  268.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetControllerPort) (MC_GLOBALS() ADD_MC_COMMA CGrafPtr  gp);
  269.  
  270.     EXTERN_API( CGrafPtr  ) ADD_MC_BASENAME(GetControllerPort) (MC_GLOBALS());
  271.  
  272.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetVisible) (MC_GLOBALS() ADD_MC_COMMA Boolean  visible);
  273.  
  274.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(GetVisible) (MC_GLOBALS());
  275.  
  276.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(GetControllerBoundsRect) (MC_GLOBALS() ADD_MC_COMMA Rect * bounds);
  277.  
  278.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetControllerBoundsRect) (MC_GLOBALS() ADD_MC_COMMA const Rect * bounds);
  279.  
  280.     EXTERN_API( RgnHandle  ) ADD_MC_BASENAME(GetControllerBoundsRgn) (MC_GLOBALS());
  281.  
  282.     EXTERN_API( RgnHandle  ) ADD_MC_BASENAME(GetWindowRgn) (MC_GLOBALS() ADD_MC_COMMA WindowPtr  w);
  283.  
  284.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(MovieChanged) (MC_GLOBALS() ADD_MC_COMMA Movie  m);
  285.  
  286.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetDuration) (MC_GLOBALS() ADD_MC_COMMA TimeValue  duration);
  287.  
  288.     EXTERN_API( TimeValue  ) ADD_MC_BASENAME(GetCurrentTime) (MC_GLOBALS() ADD_MC_COMMA TimeScale * scale);
  289.  
  290.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(NewAttachedController) (MC_GLOBALS() ADD_MC_COMMA Movie  theMovie, WindowPtr  w, Point  where);
  291.  
  292.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Draw) (MC_GLOBALS() ADD_MC_COMMA WindowPtr  w);
  293.  
  294.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Activate) (MC_GLOBALS() ADD_MC_COMMA WindowPtr  w, Boolean  activate);
  295.  
  296.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Idle) (MC_GLOBALS());
  297.  
  298.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Key) (MC_GLOBALS() ADD_MC_COMMA SInt8  key, long  modifiers);
  299.  
  300.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Click) (MC_GLOBALS() ADD_MC_COMMA WindowPtr  w, Point  where, long  when, long  modifiers);
  301.  
  302.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(EnableEditing) (MC_GLOBALS() ADD_MC_COMMA Boolean  enabled);
  303.  
  304.     EXTERN_API( long  ) ADD_MC_BASENAME(IsEditingEnabled) (MC_GLOBALS());
  305.  
  306.     EXTERN_API( Movie  ) ADD_MC_BASENAME(Copy) (MC_GLOBALS());
  307.  
  308.     EXTERN_API( Movie  ) ADD_MC_BASENAME(Cut) (MC_GLOBALS());
  309.  
  310.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Paste) (MC_GLOBALS() ADD_MC_COMMA Movie  srcMovie);
  311.  
  312.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Clear) (MC_GLOBALS());
  313.  
  314.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Undo) (MC_GLOBALS());
  315.  
  316.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(PositionController) (MC_GLOBALS() ADD_MC_COMMA const Rect * movieRect, const Rect * controllerRect, long  someFlags);
  317.  
  318.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(GetControllerInfo) (MC_GLOBALS() ADD_MC_COMMA long * someFlags);
  319.  
  320.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetClip) (MC_GLOBALS() ADD_MC_COMMA RgnHandle  theClip, RgnHandle  movieClip);
  321.  
  322.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(GetClip) (MC_GLOBALS() ADD_MC_COMMA RgnHandle * theClip, RgnHandle * movieClip);
  323.  
  324.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(DrawBadge) (MC_GLOBALS() ADD_MC_COMMA RgnHandle  movieRgn, RgnHandle * badgeRgn);
  325.  
  326.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetUpEditMenu) (MC_GLOBALS() ADD_MC_COMMA long  modifiers, MenuHandle  mh);
  327.  
  328.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(GetMenuString) (MC_GLOBALS() ADD_MC_COMMA long  modifiers, short  item, Str255  aString);
  329.  
  330.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(SetActionFilterWithRefCon) (MC_GLOBALS() ADD_MC_COMMA MCActionFilterWithRefConUPP  blob, long  refCon);
  331.  
  332.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(PtInController) (MC_GLOBALS() ADD_MC_COMMA Point  thePt, Boolean * inController);
  333.  
  334.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(Invalidate) (MC_GLOBALS() ADD_MC_COMMA WindowPtr  w, RgnHandle  invalidRgn);
  335.  
  336.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(AdjustCursor) (MC_GLOBALS() ADD_MC_COMMA WindowPtr  w, Point  where, long  modifiers);
  337.  
  338.     EXTERN_API( ComponentResult  ) ADD_MC_BASENAME(GetInterfaceElement) (MC_GLOBALS() ADD_MC_COMMA MCInterfaceElement  whichElement, void * element);
  339.  
  340.  
  341.     /* MixedMode ProcInfo constants for component calls */
  342.     enum {
  343.         uppMCSetMovieProcInfo = 0x00003FF0,
  344.         uppMCGetIndMovieProcInfo = 0x000002F0,
  345.         uppMCRemoveAllMoviesProcInfo = 0x000000F0,
  346.         uppMCRemoveAMovieProcInfo = 0x000003F0,
  347.         uppMCRemoveMovieProcInfo = 0x000000F0,
  348.         uppMCIsPlayerEventProcInfo = 0x000003F0,
  349.         uppMCSetActionFilterProcInfo = 0x000003F0,
  350.         uppMCDoActionProcInfo = 0x00000EF0,
  351.         uppMCSetControllerAttachedProcInfo = 0x000001F0,
  352.         uppMCIsControllerAttachedProcInfo = 0x000000F0,
  353.         uppMCSetControllerPortProcInfo = 0x000003F0,
  354.         uppMCGetControllerPortProcInfo = 0x000000F0,
  355.         uppMCSetVisibleProcInfo = 0x000001F0,
  356.         uppMCGetVisibleProcInfo = 0x000000F0,
  357.         uppMCGetControllerBoundsRectProcInfo = 0x000003F0,
  358.         uppMCSetControllerBoundsRectProcInfo = 0x000003F0,
  359.         uppMCGetControllerBoundsRgnProcInfo = 0x000000F0,
  360.         uppMCGetWindowRgnProcInfo = 0x000003F0,
  361.         uppMCMovieChangedProcInfo = 0x000003F0,
  362.         uppMCSetDurationProcInfo = 0x000003F0,
  363.         uppMCGetCurrentTimeProcInfo = 0x000003F0,
  364.         uppMCNewAttachedControllerProcInfo = 0x00003FF0,
  365.         uppMCDrawProcInfo = 0x000003F0,
  366.         uppMCActivateProcInfo = 0x000007F0,
  367.         uppMCIdleProcInfo = 0x000000F0,
  368.         uppMCKeyProcInfo = 0x00000DF0,
  369.         uppMCClickProcInfo = 0x0000FFF0,
  370.         uppMCEnableEditingProcInfo = 0x000001F0,
  371.         uppMCIsEditingEnabledProcInfo = 0x000000F0,
  372.         uppMCCopyProcInfo = 0x000000F0,
  373.         uppMCCutProcInfo = 0x000000F0,
  374.         uppMCPasteProcInfo = 0x000003F0,
  375.         uppMCClearProcInfo = 0x000000F0,
  376.         uppMCUndoProcInfo = 0x000000F0,
  377.         uppMCPositionControllerProcInfo = 0x00003FF0,
  378.         uppMCGetControllerInfoProcInfo = 0x000003F0,
  379.         uppMCSetClipProcInfo = 0x00000FF0,
  380.         uppMCGetClipProcInfo = 0x00000FF0,
  381.         uppMCDrawBadgeProcInfo = 0x00000FF0,
  382.         uppMCSetUpEditMenuProcInfo = 0x00000FF0,
  383.         uppMCGetMenuStringProcInfo = 0x00003BF0,
  384.         uppMCSetActionFilterWithRefConProcInfo = 0x00000FF0,
  385.         uppMCPtInControllerProcInfo = 0x00000FF0,
  386.         uppMCInvalidateProcInfo = 0x00000FF0,
  387.         uppMCAdjustCursorProcInfo = 0x00003FF0,
  388.         uppMCGetInterfaceElementProcInfo = 0x00000FF0
  389.     };
  390.  
  391. #endif    /* MC_BASENAME */
  392.  
  393. /*
  394.     Example usage:
  395.  
  396.         #define MUSICMEDIA_BASENAME()    Fred
  397.         #define MUSICMEDIA_GLOBALS()    FredGlobalsHandle
  398.         #include <Movies.k.h>
  399.  
  400.     To specify that your component implementation does not use globals, do not #define MUSICMEDIA_GLOBALS
  401. */
  402. #ifdef MUSICMEDIA_BASENAME
  403.     #ifndef MUSICMEDIA_GLOBALS
  404.         #define MUSICMEDIA_GLOBALS() 
  405.         #define ADD_MUSICMEDIA_COMMA 
  406.     #else
  407.         #define ADD_MUSICMEDIA_COMMA ,
  408.     #endif
  409.     #define MUSICMEDIA_GLUE(a,b) a##b
  410.     #define MUSICMEDIA_STRCAT(a,b) MUSICMEDIA_GLUE(a,b)
  411.     #define ADD_MUSICMEDIA_BASENAME(name) MUSICMEDIA_STRCAT(MUSICMEDIA_BASENAME(),name)
  412.  
  413.     EXTERN_API( ComponentResult  ) ADD_MUSICMEDIA_BASENAME(GetIndexedTunePlayer) (MUSICMEDIA_GLOBALS() ADD_MUSICMEDIA_COMMA long  sampleDescIndex, ComponentInstance * tp);
  414.  
  415. #endif    /* MUSICMEDIA_BASENAME */
  416.  
  417.  
  418. #endif /* __MOVIES_K__ */
  419.  
  420.